using System;
using System.Reflection;
using System.Linq.Expressions;

namespace Caramel
{
	public static class Reflection<T>
	{
		public static FieldInfo GetField(Expression<Func<T, object>> expression)
		{
			return expression.GetField();
		}

		public static PropertyInfo GetProperty(Expression<Func<T, object>> expression)
		{
			return expression.GetProperty();
		}

		public static MethodInfo GetMethod(Expression<Func<T, object>> expression)
		{
			return expression.GetMethod();
		}

		public static MemberInfo GetMember(Expression<Func<T, object>> expression)
		{
			return expression.GetMember();
		}
	}
}
